#include "widget.h"

#include <QApplication>
//QGridLayout网格布局控件
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}
/*
 * QGridLayout网格布局控件
 * 属性
 * layoutLeftMargin属性：左侧边距
 * layoutRightMargin属性：右侧边距
 * layoutTopMargin属性：上方边距
 * layoutBottomMargin属性：下方边距
 * layoutHorizontalSpacing属性：相邻元素之间的水平间距
 * layoutVerticalSpacing属性：相邻元素之间的垂直间距
 * layoutRowStretch属性：行方向的拉伸系数
 * layoutColumnStretch属性：列方向的拉伸系数
 *      拉伸系数：在布局管理器中创建的控件的大小都是均等的，当需要创建出不同尺寸的控件时，就要使用拉伸系数
 *      拉伸系数相当于设置控件之间尺寸的比例
 *      stelayoutRowStretch(int n,int m)：第一个参数：第n行  第二个参数：拉伸系数为：m
 *      如果拉伸系数为0，表示此行/列的控件不参与拉伸，此时控件的大小是固定的
 *
 * 网格布局空间的列拉伸默认是打开的，水平拉伸(行方向拉伸)默认是关闭的
 * 这是控件的SizePolicy属性起到的作用，这个属性是QWidget的属性
 * 由于按钮垂直方向默认没有设置拉伸，水平方向是默认拉伸的，所以垂直方向的拉伸就不会受到拉伸系数的影响了
 * 要向垂直方向的拉伸系数生效，就需要让按钮先在垂直方向能够拉伸展开
 * QSizePolicy::Ignored：忽略控件的尺寸，不对布局产生影响。-给控件设置的尺寸就不管用了
 * QSizePolicy::Minimum：控件的最小尺寸为固定值，布局时不会超过该值。
 * QSizePolicy::Maximum：控件的最大尺寸为固定值，布局时不会小于该值
 * QSizePoiicy::Preferred：控件的理想尺寸为固定值，布局时会尽量接近这个值
 * QSizePolicy::Expanding：控件的尺寸可以根据空间来调整，尽可能占据更多的空间
 * QSizePolicy::Shrinking：空间的尺寸可以根据空间来调整，尽可能缩小以适应空间
 *
 * setSizePolicy(水平方向拉伸方式, 垂直方向拉伸方式);
 *
*/
